package at.guigu.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;

/**
 * 测试：SpringMVC页面跳转
 */
//将Usercontroller放到Spring容器中
@Controller
@RequestMapping("/user")
public class Usercontroller {

    /**
     * SpringMVC页面跳转——直接返回字符串
     * @return
     */
    @RequestMapping(value = "/quick1")
    public String save1() {
        System.out.println("Usercontroller save...");
        return "success";
        // 等同于return "/user/success.jsp";
    }

    /**
     * SpringMVC页面跳转——返回ModelAndView对象  方式一
     * @return
     */
    @RequestMapping("/quick2")
    public ModelAndView save2() {
        /*
            Model：模型  用来封装数据
            View：视图   用来展示数据
         */
        ModelAndView mv = new ModelAndView();
        // 设置模型数据
        mv.addObject("username", "zhangsan");
        // 设置视图名称
        mv.setViewName("success");
        return mv;
    }
    /**
     * SpringMVC页面跳转——返回ModelAndView对象  方式二
     * @return
     */
    @RequestMapping("/quick3")
    public ModelAndView save3(ModelAndView mv) {
        /*
            Model：模型  用来封装数据
            View：视图   用来展示数据
         */
        // 设置模型数据
        mv.addObject("username", "zhangsan");
        // 设置视图名称
        mv.setViewName("success");
        return mv;
    }
    /**
     * SpringMVC页面跳转——返回ModelAndView对象  方式三
     * @return
     */
    @RequestMapping("/quick4")
    public String save4(Model model) {
        /*
            Model：模型  用来封装数据
            View：视图   用来展示数据
         */
        // 设置模型数据
        model.addAttribute("username", "zhangsan");
        // 返回jsp视图文件
        return "success";
    }
    /**
     * SpringMVC页面跳转——返回ModelAndView对象  方式四
     * @return
     */
    @RequestMapping("/quick5")
    public String save5(HttpServletRequest request) {
        /*
            Model：模型  用来封装数据
            View：视图   用来展示数据
         */

        // request代替model来设置模型数据
        request.setAttribute("username", "zhangsan");
        // 返回jsp视图文件
        return "success";
    }
}